A Semantic Framework for Program Debugging
نویسنده
چکیده
This work aims to build a semantic framework for automated debugging. A debugging process consists of tracing, locating, and fixing processes consecutively. The first two processes are accomplished by a tracing procedure and a locating procedure, respectively. The tracing procedure reproduces the execution of a failed test case with well-designed data structures and saves necessary information for locating bugs. The locating procedure will use the information obtained from the tracing procedure to locate ill-designed statements and to generate a fix-equation, the solution of which is a function that will be used to fix the bugs. A structural operational semantics is given to define the functions of the tracing and locating procedure. Both procedures are proved to terminate and produces one fix-equation. The main task of fixing process is to solve the fix-equation. It turns out that for a given failed test case, there exist three different types of solutions: 1. the bug is solvable, there exists a solution of the fix-equation, and the program can be repaired. 2. There exists a non-linear error in the program, the fix-equation generated at each round of the locating procedure is solvable, but a new bug will arise when the old bug is being fixed. 3. There exists a logical design error and the fix-equation is not solvable. 2 L. Kovacs, T. Kutsia (eds.), SCSS 2013 (EPiC Series, vol. 15), pp. 2–2
منابع مشابه
Program Debugging and Validation Using Semantic Approximations and Partial Specifications
The technique of Abstract Interpretation [11] has allowed the development of sophisticated program analyses which are provably correct and practical. The semantic approximations produced by such analyses have been traditionally applied to optimization during program compilation. However, recently, novel and promising applications of semantic approximations have been proposed in the more general...
متن کاملAn Integrated Rule Modeling Framework
This paper introduces an Integrated Rule Modeling Framework, which consists of the UML-based rule modeling tool Strelka, rule interchange format R2ML and a number of services, which facilitate the development and debugging of rule-based applications and rules for the Semantic Web. We describe how the framework can be used by software engineers and how Semantic Web rule modelers can benefit from...
متن کاملExplorative Debugging for Rapid Rule Base Development
We present Explorative Debugging as a novel debugging paradigm for rule based languages. Explorative Debugging allows truly declarative debugging of rules and is well suited to support rapid, tryand-error development of rules. We also present the Inference Explorer, an open source explorative debugger for horn rules on top of RDF. 1 Debugging Semantic Web Rules Semantic Web rule languages can b...
متن کاملA Semantic Framework for the Declarative Debugging of Wrong and Missing Answers in Declarative Constraint Programming
Debugging tools are a practical need for helping programmers to understand why their programs do not work as intended. Declarative programming paradigms involving complex operational details, such as constraint solving and lazy evaluation, do not fit well to traditional debugging techniques relying on the inspection of low-level computation traces. As a solution to this problem, and following a...
متن کاملA Framework for Automatic Debugging
This paper presents an application framework in which declarative specifications of debugging actions are translated into execution monitors that can automatically detect bugs. The approach is non-intrusive with respect to program source code and provides a high level of abstraction for debugging activities.ion for debugging activities.
متن کامل